1. Field of the Invention
The present invention relates to a programmable impedance controller and a method of operating the same, which is capable of substantially reducing influence of internal and external noise.
2. Description of the Related Art
Various semiconductor devices such as microcomputers, memory devices, etc. provide various kinds of electrical appliances. Most semiconductor devices have input/output pins for transmitting data from outside input and output circuits for providing internal data to the outside, etc.
Internal data in such a semiconductor device may be provided to another semiconductor device through a transmission line. To appropriately transmit an output signal, an output impedance and an impedance of the transmission line should be matched mutually, and to receive an input signal without distortion, an impedance of transmission line and an input impedance should be matched with each other. In general, the former is referred to as output impedance (ZQ) control, and the latter is referred to as chip termination (ZT) control. Generally, output impedance control is performed on an output driver and chip termination control is performed on an input terminator circuit.
One method to realize impedance matching is to design a system so that an output impedance of the system coincides with an impedance of transmission line used in the system, and to use a termination in an input terminal to substantially reduce a reflected wave. This method is susceptible to temperature change or process change, etc. between an actually operating environment of the system and a design environment. Thus, a system to provide accurate impedance matching regardless of external environmental change is required. A programmable impedance controller (PIC) capable of sensing a characteristic impedance of a transmission line and transferring information to an output circuit has been proposed. The PIC can match the impedance with an impedance value, and update digital codes for a predetermined period actively against a voltage and temperature change, to match internal impedance with external impedance, when a user connects impedance with an outer side of the system. One example of the programmable impedance controller having such a programmable impedance control operation is disclosed in U.S. Pat. No. 6,307,424.
Another example of such a programmable impedance controller is described referring to a block diagram of FIG. 1 according to the prior art. Referring to FIG. 1, a programmable impedance controller according to the prior art includes an I/O pad having an external impedance RQ, RT; a detector 10 that is constructed of an array of transistors that are programmed to have the same impedance with the external impedance RQ, RT); a selector 40 for comparing an output of the detector 10 with a reference voltage (½VDDQ) and controlling an output of counter 30; a counter 30 for generating a digital impedance code; a code register 50 for storing an impedance code; and a code transmitter 60 for transmitting the impedance codes in series.
The programmable impedance controller according to the prior art is configured so that an external impedance is connected to an external pin and a semiconductor device has an output impedance value desired within specification of about 35 to 70Ω.
A general operation of the programmable impedance controller will be described as follows.
For example, a matching external impedance RQ, RT having an impedance value corresponding to about 5 times the impedance value of an external device is connected between an external pad ZQ, ZT PAD and a ground. The comparator 20 compares a pad voltage of external pad ZQ, ZT PAD connected to the external impedance RQ, RT with a reference voltage ½VDDQ, and outputs an impedance control signal. The counter 30 detects the impedance control signal, performs an up/down counting in response to the impedance control signal, and outputs control code data A for turning on or turning off P-channel and N-channel MOS (Metal Oxide Semiconductor) transistors within an impedance matching transistor array. The counter 30 increases or decreases the control code data A until a level of the reference voltage ½VDDQ becomes equal to a level of the pad voltage. Hence, a selected transistor within a P-channel and N-channel transistor array is turned on or off and the level of reference voltage ½VDDQ and the level of the pad voltage become equal. In this case, the detector 10 has the same impedance as the external impedance RQ, RT.
The selector 40 senses a dithering effect and outputs a sense signal. The code register 50 stores an impedance code having a code value equal to the external impedance RQ, RT, in a register, in response to the sense signal. The dithering effect denotes that output voltage of the detectors 10 controlled by a digital code outputted from the counter 30 is not exactly formed as a voltage level equal to reference voltage ½VDDQ, and has an amplitude having a quantization error on the basis of the reference voltage ½VDDQ, and thus has vibration. The dithering effect is called an impedance locking effect. The dithering effect designates that an impedance of the detector 10 of the impedance controller becomes a value most similar to the external impedance RQ, RT. Thus, the value is detected and is stored in the code register 50.
Impedance codes B stored in the code register 50 by a sense signal of the selector 40 are transmitted in series through the code transmitter 60, and so an impedance update is performed.
FIG. 2 is a timing diagram for control code data A as an output signal of the counter 30 having a dithering effect, and for an updated impedance code B as an output signal of the code register 50. As shown in FIG. 2, after a dithering effect is generated on control code data A, several impedance codes B are changed rapidly at one time, in an updating operation. This rapid change momentarily causes many changes on impedance of an output driver or input terminator, and causes a signaling interference with internal noise of circuits.
FIG. 3 is a timing diagram of control code data A as an output signal of the counter 30, and an updated impedance code B as an output signal of the code register 50, in case external noise lasts for a fairly long time. As shown in FIG. 3, if external noise lasts for a longer duration than a dithering pattern, the noise is reflected through the impedance controller and an impedance updating operation is performed. In general, a conventional impedance controller was provided with a method of removing noise of mostly high frequency, instead of a method for removing lower frequency noise. Thus, if noise having low frequency lasts for a fairly long time, there are problems in that impedance code is again updated by control code data A changed by external noise, and the updated impedance code B has a value different from a desired impedance code.